#include <stdio.h>
#include <string.h>
#include <math.h>
int main(){
    int n;
    scanf("%d",&n);
    int i,j,k;
    int* input=new int[n];
    int max=0;
    for(i=0;i<n;i++)
    {
        scanf("%d",&input[i]);
        if(max<input[i])
        {
            max=input[i];
        }
    }
    int* result=new int[max+1];
    memset(result,0,(max+1)*sizeof(int));
    result[1]=1;

    int* ss=new int[max/2+10];
    ss[0]=2;
    int len_ss=1;
    int max_pd=(int)sqrt(max);
    for(i=3;i<=max_pd;i++)
    {
        for(j=0;j<len_ss;j++)
        {
            if(i%ss[j]==0)
            {
                break;
            }
        }
        if(j==len_ss)
        {
            ss[len_ss]=i;
            len_ss++;
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            int num=abs(input[j]-input[i]);
            result[num]=1;
            int flag=-1;
            int num_pd=(int)sqrt(num);
            for(k=0;k<len_ss;k++)
            {   
                if(num_pd<ss[k])
                {
                    break;
                }
                if(num%ss[k]==0)
                {
                    flag=ss[k];
                }
            }
            if(flag>0)
            {   
                num_pd=num/flag;
                result[num_pd]=1;
                for(k=n;k<num_pd;k++)
                {
                    if(num%k==0)
                    {
                        result[k]=1;
                    }
                }
            }
            
        }
    }
    

    for(i=n;i<=max;i++)
    {
        if(!result[i])
        {
            printf("%d\n",i);
            break;
        }
    }

    delete input;
    delete result;

}